package com.chinacoal.microservice.pojo;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.enums.IdType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;


/**
 * @author zhuliang
 * @version V1.0
 * @Description: 房源管理——楼宇管理
 * @date 2020-11-06 17：22
 */
@NoArgsConstructor
@AllArgsConstructor
@Data
@Accessors(chain = true)
@ApiModel(value = "房源管理——楼宇管理")
public class CcmsSmartleasingBuilding implements Serializable {

    @ApiModelProperty(value = "主键id")
    @TableId(value = "pk_building_id", type = IdType.UUID)
    private String pkBuildingId;

    @ApiModelProperty(value = "楼宇名称")
    private String buildingName;

    @ApiModelProperty(value = "抵押情况：抵押；未抵押")
    private String mortgageSituation;

    @ApiModelProperty(value = "总楼层")
    private Short totalFloor;

    @ApiModelProperty(value = "权利人外键(1)")
    private String obligeeKeyOne;

    @ApiModelProperty(value = "权利人百分比(1)")
    private String obligeePercentageOne;

    @ApiModelProperty(value = "权利人外键(2)")
    private String obligeeKeyTwo;

    @ApiModelProperty(value = "权利人百分比(2)")
    private String obligeePercentageTwo;

    @ApiModelProperty(value = "权利人外键(3)")
    private String obligeeKeyThree;

    @ApiModelProperty(value = "权利人百分比(3)")
    private String obligeePercentageThree;

    @ApiModelProperty(value = "权利人外键(4)")
    private String obligeeKeyFour;

    @ApiModelProperty(value = "权利人百分比(4)")
    private String obligeePercentageFour;

    @ApiModelProperty(value = "权利人外键(5)")
    private String obligeeKeyFive;

    @ApiModelProperty(value = "权利人百分比(5)")
    private String obligeePercentageFive;

    @ApiModelProperty(value = "登记日期")
    private Date registerDate;

    @ApiModelProperty(value = "房产证编号")
    private String housePropertyCertificateNo;

    @ApiModelProperty(value = "发证单位")
    private String issueUnit;

    @ApiModelProperty(value = "房源类型外键id")
    private String housingAssetsTypeId;

    @ApiModelProperty(value = "物业公司外键")
    private String fkPropertyCompanyId;

    @ApiModelProperty(value = "管理处外键")
    private String fkAdministrativeOfficeId;

    @ApiModelProperty(value = "宗地号")
    private String landNumber;

    @ApiModelProperty(value = "宗地面级")
    private BigDecimal landArea;

    @ApiModelProperty(value = "土地用途外键")
    private String fkLandPurpose;

    @ApiModelProperty(value = "省id")
    private Integer provinceId;

    @ApiModelProperty(value = "市id")
    private Integer cityId;

    @ApiModelProperty(value = "区id")
    private Integer areaId;

    @ApiModelProperty(value = "街道id")
    private Integer streetId;

    @ApiModelProperty(value = "其他地址")
    private String otherAddresses;

    @ApiModelProperty(value = "使用年限")
    private BigDecimal usefulLife;

    @ApiModelProperty(value = "使用起始日")
    private Date usefulStartDate;

    @ApiModelProperty(value = "房地产名称")
    private String realEstateName;

    @ApiModelProperty(value = "建筑面积")
    private BigDecimal floorage;

    @ApiModelProperty(value = "竣工日期")
    private Date completionDate;

    @ApiModelProperty(value = "使用来源")
    private String usefulSource;

    @ApiModelProperty(value = "用途")
    private String purpose;

    @ApiModelProperty(value = "登记价格人民币")
    private BigDecimal registrationPriceRmb;

    @ApiModelProperty(value = "登记价格港币")
    private BigDecimal registrationPriceHkd;

    @ApiModelProperty(value = "产权情况:0.无产权，1.有产权'")
    private int propertyRights;

    @ApiModelProperty(value = "产权情况说明")
    private String descriptionPropertyRights;

    @ApiModelProperty(value = "创建人")
    private Integer createdBy;

    @ApiModelProperty(value = "创建时间")
    private Date creationDate;

    @ApiModelProperty(value = "最后变更人")
    private Integer lastUpdatedBy;

    @ApiModelProperty(value = "最后变更时间")
    private Date lastUpdateDate;

    @ApiModelProperty(value = "删除标记,默认为'false'")
    private Byte deleteSign;

    @ApiModelProperty(value = "区域编号外键")
    private String areaNumberId;

    @ApiModelProperty(value = "房产证扫描件，多图")
    private String propertyOwnershipCertificate;

    @ApiModelProperty(value = "房型分布")
    private String housingDistribution;



    @ApiModelProperty(value = "省份名称(添加无需此字段)")
    @TableField(exist = false)
    private String province;

    @ApiModelProperty(value = "市名称(添加无需此字段)")
    @TableField(exist = false)
    private String city;

    @ApiModelProperty(value = "区名称(添加无需此字段)")
    @TableField(exist = false)
    private String area;

    @ApiModelProperty(value = "街道名称/商圈名称（添加无需此字段）")
    @TableField(exist = false)
    private String street;

    @ApiModelProperty(value = "对应楼宇的房间号，和房间信息（添加无需此字段）")
    @TableField(exist = false)
    private List<CcmsSmartleasingRoom> allRoom;

    @ApiModelProperty(value = "房产证扫描件,地址拆分后的地址数组（添加无需此字段）")
    @TableField(exist = false)
    private String[] propertyOwnershipCertificateList;

    @ApiModelProperty(value = "此楼宇所有的房间信息")
    @TableField(exist = false)
    private List<CcmsSmartleasingRoom> roomList;

    private static final long serialVersionUID = 1L;

}
